package com.xiaobai.frame.service;

import com.xiaobai.common.utils.mp.BaseService;
import com.xiaobai.common.utils.result.Result;
import com.xiaobai.frame.entity.DTO.userDTO.UserInfo;
import com.xiaobai.frame.entity.User;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author author
 * @since 2024-06-07
 */
public interface IUserService extends BaseService<User> {

    /**
     * 创建用户
     */
    Result addUserInfo(UserInfo userInfo) throws Exception;

    /**
     * 用户登录
     * @param account  账号
     * @param password  密码
     */
    Result login(String account, String password);

    /**
     * token刷新
     * @param refreshToken 刷新令牌
     */
    Result refreshToken(String refreshToken);

    /**
     * 退出登录
     */
    Result logout();

    /**
     * 重置密码
     * @param ids 重置用户id
     */
    Result resetPassword(String ids) throws Exception;

    /**
     * 修改用户信息
     */
    Result updateUserInfo(User user);

    /**
     * 获取用户信息
     */
    Result getUserInfo();
}
